package red.uec.service;

import com.baomidou.mybatisplus.service.IService;
import red.uec.entity.User;
import red.uec.model.*;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author 谭剑晖
 * @since 2018-08-22
 */
public interface UserService extends IService<User> {

    /**
     * 获取注册验证码
     * @param registerMessageCodeRequest
     * @return
     */
    RegisterMessageCodeResponse getMessageCode(RegisterMessageCodeRequest registerMessageCodeRequest);

    /**
     * 用户注册
     * @param registerRequest
     * @return
     */
    RegisterResponse register(RegisterRequest registerRequest);

    /**
     * 登录
     * @return
     */
    LoginResponse login(LoginRequest loginRequest);

    /**
     * 修改密码
     * @param passwordModificationRequest
     * @return
     */
    PasswordModificationResponse modifyPassword(PasswordModificationRequest passwordModificationRequest);

    /**
     * 获取密码重置验证码
     * @param passwordResetMessageCodeRequest
     * @return
     */
    PasswordResetMessageCodeResponse getPasswordResetMessageCode(PasswordResetMessageCodeRequest passwordResetMessageCodeRequest);

    /**
     * 重置密码
     * @param passwordResetRequest
     * @return
     */
    PasswordResetResponse resetPassword(PasswordResetRequest passwordResetRequest);
}
